package com.such.kit.el.support;

import java.util.Map;

/**
 * @作者 SUCH
 * @日期 2018-3-27 下午7:21:57
 * @描述 ExpressionSupport EL 工具类类接口
 */
public interface ExpressionEngine {

	/**
	 * <pre>
	 * 执行表达式
	 * </pre>
	 * @param expression 表达式
	 * @param inputs 入参
	 * @return 执行结果
	 * @throws Exception
	 */
	public <Return, Input> Return execute(String expression, Map<String, Input> inputs) throws Exception;

	/**
	 * <pre>
	 * 注册函数
	 * </pre>
	 * @param args 根据不同表达式引擎要求传入相应参数
	 */
	public void register(Object... args);

}
